Excel / VBA中的“禁用/启用”按钮 | 您所在的位置:网站首页 › vba 属性的使用无效 › Excel / VBA中的“禁用/启用”按钮 |
我正在VBA / Excel中尝试以下功能: 12345Sub function_name() button.enabled=false Call Long_Function ' duration: 10sec button.enabled=true End Sub由于某些原因,此按钮禁用无效(在excel工作表中保持启用状态) 我尝试过尝试使用DoEvents和延迟,但是没有运气。 有任何想法吗? 谢谢! 相关讨论 当我评论button.enabled = true时,该按钮被禁用 我在这里打错了,当然启用了以下为我工作的作品(Excel 2010) 1234567891011Dim b1 As Button Set b1 = ActiveSheet.Buttons("Button 1") b1.Font.ColorIndex = 15 b1.Enabled = False Application.Cursor = xlWait Call aLongAction b1.Enabled = True b1.Font.ColorIndex = 1 Application.Cursor = xlDefaultBe aware that .enabled = False does not gray out a button. 字体颜色必须明确设置为灰色。 相关讨论 好答案! 最后一句话可能在帖子的开头,我不得不来两次,因为我没有阅读所有内容! 傻我:P 我认为需要注意的重要一点是,在Excel 2010中,设置b1.Enabled = False不会阻止单击该按钮时与该按钮关联的操作。 ...并且要停用该操作(事件),必须将其取消分配(Excel 2010),或者在同一位置创建两个按钮以切换其可见性,如下所述:stackoverflow.com/a/566965/1915920...我不知道您是否正在使用Activex按钮,但是当我将Activex按钮插入Excel中名为CommandButton1的sheet1中时,以下代码可以正常工作: 12345Sub test() Sheets(1).CommandButton1.Enabled = False End Sub希望这可以帮助... 相关讨论 这很完美,我认为它与屏幕刷新或长时间运行的功能有关其他人的正确说法是,设置button.enabled = false不会阻止按钮触发。但是,我发现设置button.visible = false确实可行。该按钮消失并且无法单击,直到再次将visible设置为true为止。 这对我来说很有效(Excel 2016),带有一个新的ActiveX按钮,为该按钮分配了一个控件,您已经全部设置好了。 12345Sub deactivate_buttons() ActiveSheet.Shapes.Item("CommandButton1").ControlFormat.Enabled = False End Sub它将ActiveX按钮"属性"框中的"已启用"属性更改为False,并且该按钮变为非活动状态并显示为灰色。 太好了 !!!它可以正常工作,轻松解决了我一天的老问题 123456Dim b1 As Button Set b1 = ActiveSheet.Buttons("Button 1") b1.Enabled = False这就是iDevelop试图说的Enabled属性 因此,您实际上是使用enabled的,因为您最初的帖子是enable。 您可以尝试以下方法: 1234567891011Sub disenable() sheets(1).button1.enabled=false DoEvents Application.ScreenUpdating = True For i = 1 To 10 Application.Wait (Now + TimeValue("0:00:1")) Next i sheets(1).button1.enabled = False End Sub 相关讨论 @Jonathan似乎您的等待函数似乎并未拉出所需的trigger来更改按钮属性。 因此,请尝试一下。 我在网上也发现了这个,但这并不能解决问题。 我认为这确实是问题所在。 如果我在执行功能后中断,则按钮不会处于活动状态。 |
CopyRight 2018-2019 实验室设备网 版权所有 |